From: Florian Müllner Date: Sun, 12 Aug 2018 23:25:13 +0000 (+0200) Subject: messageTray: Disable unredirection while showing banners X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~897^2~1^2~55 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=4dc2039859fc05d8cab43478e2c66bc51b530802;p=gnome-shell.git messageTray: Disable unredirection while showing banners We don't usually show notification banners while the monitor is in fullscreen, but when we do - the notification is urgent - we should actually show the banner, even if the top-most window is unredirected. To achieve that, disable unredirection while the banner is showing. https://gitlab.gnome.org/GNOME/gnome-shell/issues/430 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index c0766566c..84681569e 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1295,8 +1295,10 @@ var MessageTray = new Lang.Class({ } this._banner = this._notification.createBanner(); - this._bannerClickedId = this._banner.connect('done-displaying', - this._escapeTray.bind(this)); + this._bannerClickedId = this._banner.connect('done-displaying', () => { + Meta.enable_unredirect_for_display(global.display); + this._escapeTray(); + }); this._bannerUnfocusedId = this._banner.connect('unfocused', () => { this._updateState(); }); @@ -1308,6 +1310,7 @@ var MessageTray = new Lang.Class({ this._bannerBin.y = -this._banner.actor.height; this.actor.show(); + Meta.disable_unredirect_for_display(global.display); this._updateShowingNotification(); let [x, y, mods] = global.get_pointer();